package com.lannuokeji.utils.tags.array;

import java.util.List;

import org.beetl.core.Context;
import org.beetl.core.Function;

public class HasPermission implements Function {

	public static String functionName = "ac";

	/**
	 * 调用形式：第一个参数为session中存储的当前用户id，第二个参数为当前被判断按钮的action
	 * 示例：
	 * <#if ac(SESSION['userId'], 'action/url')>
	 * 	才能显示
	 * </#if>
	 */
	@Override
	public Object call(Object[] paras, Context arg1) {
		Object userId = paras[0];
		if (userId == null) {
			return false;
		}
		// 判断传过来的参数是否在当前用户的可操作区间，如果是那么返回true，否则返回false；这里不能获取session对吧
		// 所需参数：1、当前用户的登录id；2、当前操作对应的action
		Object action = paras[1];
		// 根据用户标识判断是否拥有操作当前action的权限,如果有那么返回true
		//CacheKit.put("ac", userid, list<String>);//放入
//		List<String> userPermissions = CacheKit.get("ac", userId);//取出
		/*if(userPermissions != null){
			if (userPermissions.contains(action)) {
				return true;
			}
		} else {
			// TODO - 这个地方还需要进一步完善
		}*/
		return false;
	}

}
